home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
LOGIC Apps
/
Logic-APPLE_II_APPS.iso
/
mac
/
LOGIC Apple II 5.25" Library - ProDOS
/
PRO003.dsk
/
DEMOS
/
S.I.N.VALIDATOR.bas
< prev
next >
Wrap
BASIC Source File
|
2012-02-16
|
1KB
|
22 lines
1 REM :(S.I.N. VALIDATOR)
2 REM :(BY: MURRAY MACKENZIE)
3 REM :
4 TEXT : HOME : VTAB 2: HTAB 12: PRINT "S.I.N. VALIDATOR": HTAB 12: PRINT "================": PRINT : HTAB 12: PRINT "('END' TO EXIT )": PRINT : POKE 34,7: PRINT
5 CLEAR : SPEED= 150: INPUT " ENTER S.I.N. ";A$
6 IF A$ = "END" THEN SPEED= 255: TEXT : HOME : END
7 REM : ELIMINATE SPACES OR '-' IF THEY WERE ENTERED AS PART OF S.I.N.
8 FOR I = 1 TO LEN(A$)
9 IF MID$ (A$,I,1) = CHR$(32) OR MID$ (A$,I,1) = "-" OR MID$ (A$,I,1) = CHR$(47) THEN I = I +1
10 B$ = B$ + MID$ (A$,I,1): NEXT
11 REM : S.I.N. NOW DIGITS ONLY AND RENAMED B$
12 IF LEN(B$) < >9 THEN 21
13 B1$ = MID$ (B$,2,1) + MID$ (B$,4,1) + MID$ (B$,6,1) + MID$ (B$,8,1)
14 B = VAL(B1$):B = 2 *B:C$ = STR$(B)
15 D = ( VAL( MID$ (C$,1,1))) +( VAL( MID$ (C$,2,1))) +( VAL( MID$ (C$,3,1))) +( VAL( MID$ (C$,4,1))) +( VAL( MID$ (C$,5,1)))
16 E = ( VAL( MID$ (B$,1,1))) +( VAL( MID$ (B$,3,1))) +( VAL( MID$ (B$,5,1))) +( VAL( MID$ (B$,7,1)))
17 F = D +E: IF F/10 = INT(F/10) THEN DIGIT = 0: GOTO 20
18 F = F +1:Z = Z +1: IF F/10 = INT(F/10) THEN DIGIT = Z: GOTO 20
19 GOTO 18
20 IF STR$(DIGIT) = RIGHT$(B$,1) THEN CALL -998: PRINT "S.I.N. ";A$;" IS VALIDATED..": PRINT : PRINT : GOTO 5
21 CALL -998: INVERSE : PRINT "S.I.N. ";A$;"<CTRL-G><CTRL-G><CTRL-G><CTRL-G> IS INVALID !!": NORMAL : PRINT : PRINT : GOTO 5
22 REM VALADATION COMPLIES WITH REVENUE CANADA FORMULA.